export default {
  // 只调用一次，指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。
  bind(el, binding, vnode, oldVnode) {
    // 采用localStorage模拟按钮权限接口
    const permission = JSON.parse(localStorage.getItem('btnPermission'));
    // 当前按钮传过来的权限
    const btnPermission = binding.value;
    // 判断当前按钮在接口权限中是否存在
    const hasPermission = permission.includes(btnPermission);
    // 如果不存在则不显示该按钮
    if(!hasPermission) {
      setTimeout(() => {
        el.parentNode.removeChild(el);
      }, 0);
    }
  },
  // 被绑定元素插入父节点时调用 (仅保证父节点存在，但不一定已被插入文档中)。
  inserted(el, binding, vnode, oldVnode) {

  },
  // 所在组件的 VNode 更新时调用，但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变，也可能没有。
  // 但是你可以通过比较更新前后的值来忽略不必要的模板更新。
  update(el, binding, vnode, oldVnode) {

  },
  // 指令所在组件的 VNode 及其子 VNode 全部更新后调用。
  componentUpdated(el, binding, vnode, oldVnode) {

  },
  // 只调用一次，指令与元素解绑时调用。
  unbind(el, binding, vnode, oldVnode) {

  }
}
